package db

// import的时候不需要用到mysql这个包，但是要引入一下
import (
    "fmt"
    
    "database/sql"
    _ "github.com/go-sql-driver/mysql"

    "ginframe/config"
)

var (
    conf *config.Config
)

func init () {
    conf = config.GetConfig()
}

func DbConnect() *sql.DB {
    // root:password@(localhost:3306)/blog
    // 用户名:密码@(数据库地址及端口号)/数据库名
    // db, err := sql.Open("mysql", "root:password@(ip:port)/databse")
    conn := fmt.Sprintf("%s:%s@(%s:%d)/%s", conf.Mysql.User, conf.Mysql.Password, conf.Mysql.Host, conf.Mysql.Port, conf.Mysql.Database)
    db, err := sql.Open("mysql", conn)
    db.SetMaxOpenConns(10) // 最大连接数
    db.SetMaxIdleConns(5)
    if err != nil {
        panic(err)
    }
    if err := db.Ping(); err != nil {
        fmt.Println("连接失败")
        panic(err.Error())
    }
    // fmt.Println("连接成功")
    return db
}
